home *** CD-ROM | disk | FTP | other *** search
- /*
- * Pipe testing benchmark
- */
- #include "timer.h"
- #define BLOCKS 1024
-
- char buffer[512];
-
- int fld[2];
-
- main()
- {
- register int i;
-
- init_timer();
- start_timer();
- pipe(fld);
- if(fork())
- {
- for(i = 0; i < BLOCKS; i++)
- if(write(fld[1], buffer, 512) < 0)
- printf("Error in writing; i=%d\n", i);
-
- if(close(fld[1]) != 0)
- printf("Error in parent closing\n");
- print_elapsed("Pipe benchmark", SYSTEMMIN);
- }
- else
- {
- if(close(fld[1]) != 0)
- printf("Error in child closing\n");
-
- for(;;)
- if(read(fld[0], buffer, 512) == 0)
- {
- break;
- }
- }
- exit(0);
- }
-